package com.gopay.common.domain.dc;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.gopay.common.domain.BaseEntity;
import com.gopay.common.util.DateUtils;

/**
 * 动态口令卡和用户的信息表，主要是启用，禁用，关联，解绑
 * 
 * DcUserCardInfo.java
 * @author qianld
 * @2015-08-26 下午16:09:30 www.gopay.com.cn Inc.All rights reserved.
 */

@Entity
@Table(name = "DC_USER_CARD_INFO")
public class DcUserCardInfo extends BaseEntity {

    /**
     * 
     */
    private static final long serialVersionUID = -2532973121653792672L;

    /**
     * id
     */
    @Id
    @SequenceGenerator(name="DC_USER_CARD_INFO_SEQ", sequenceName="DC_USER_CARD_INFO_SEQ" )
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="DC_USER_CARD_INFO_SEQ")
    @Column(name="DC_ID")
    private int dcId;

    /**
     * 客户ID
     */
    @Column(name="CUST_ID")
    private String custId;

    /**
     * 令牌序列号
     */
    @Column(name="TOKEN_ID")
    private String tokenId;

    /**
     * 令牌状态,0-启用,1-禁用,2-锁定(输密码次数超过5次)
     */
    @Column(name="TOKEN_STAT")
    private String tokenStat;

    /**
     * 输密码错误5次锁定状态，0-正常,1-锁定
     */
    @Column(name="PWD_LOCK_STAT")
    private String pwdLockStat;
    
    
    /**
     * 控制台对用户动态口令密码状态,0-正常,1-锁定
     */
    @Column(name="CONSOLE_LOCK_STAT")
    private String consoleLockStat;

    /**
     * 令牌有效起始日期
     */
    @Column(name="START_TIME")
    private Date startTime;

    /**
     * 令牌有效截止日期
     */
    @Column(name="END_TIME")
    private Date endTime;

    
    /**
     * 最近关联操作员
     */
    @Column(name="LAST_REL_OPER")
    private String lastRelOper;
    

	/**
     * 最近关联日期
     */
    @Column(name="LAST_REL_TIME")
    private Date lastRelTime;
 
    
    
    /**
     * 最近解绑操作员
     */
    @Column(name="LAST_UNBUNDLING_OPER")
    private String lastUnbundingOper;

    /**
     * 最近解绑日期
     */
    @Column(name="LAST_UNBUNDLING_TIME")
    private Date lastUnbundingTime;

    
    /**
     * 最近启用操作员
     */
    @Column(name="LAST_STARTUSE_OPER")
    private String lastStartuseOper;
    

	/**
     * 最近启用时间
     */
    @Column(name="LAST_STARTUSE_TIME")
    private Date lastStartuseTime;
    
    /**
     * 最近禁用操作员
     */
    @Column(name="LAST_UNUSE_OPER")
    private String lastUnuseOper;

    /**
     * 最近禁用时间
     */
    @Column(name="LAST_UNUSE_TIME")
    private Date lastUnuseTime;

    
    /**
     * 禁用理由
     */
    @Column(name="UNUSE_REASON")
    private String unuseReason;
    

	/**
     * 密码输入错误次数
     */
    @Column(name="TOKEN_ERROR_NUM")
    private String tokenErrorNum;
    
    
    /**
     * 是否解绑状态,0-否,1-是
     */
    @Column(name="UNBUNDING_STAT")
    private String unbundingStat;

    
    /**
     * 创建时间
     */
    @Column(name="CREATE_TS")
    private Date createTs;
    

	/**
     * 最后修改时间
     */
    @Column(name="LAST_UPD_TS")
    private Date lastUpdTs;

    
    /**
     * 用户信息表ID
     */
    @Column(name="USER_ID")
    private String userId;

	public int getDcId() {
		return dcId;
	}


	public void setDcId(int dcId) {
		this.dcId = dcId;
	}


	public String getUserId() {
        return userId;
    }


    public void setUserId(String userId) {
        this.userId = userId;
    }


    public String getCustId() {
		return custId;
	}


	public void setCustId(String custId) {
		this.custId = custId;
	}


	public String getTokenId() {
		return tokenId;
	}


	public void setTokenId(String tokenId) {
		this.tokenId = tokenId;
	}


	public String getTokenStat() {
		return tokenStat;
	}


	public void setTokenStat(String tokenStat) {
		this.tokenStat = tokenStat;
	}


	public String getPwdLockStat() {
		return pwdLockStat;
	}


	public void setPwdLockStat(String pwdLockStat) {
		this.pwdLockStat = pwdLockStat;
	}


	public String getConsoleLockStat() {
		return consoleLockStat;
	}


	public void setConsoleLockStat(String consoleLockStat) {
		this.consoleLockStat = consoleLockStat;
	}


	public Date getStartTime() {
		return startTime;
	}


	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}


	public Date getEndTime() {
		return endTime;
	}


	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}


	public String getLastRelOper() {
		return lastRelOper;
	}


	public void setLastRelOper(String lastRelOper) {
		this.lastRelOper = lastRelOper;
	}


	public Date getLastRelTime() {
		return lastRelTime;
	}


	public void setLastRelTime(Date lastRelTime) {
		this.lastRelTime = lastRelTime;
	}


	public String getLastUnbundingOper() {
		return lastUnbundingOper;
	}


	public void setLastUnbundingOper(String lastUnbundingOper) {
		this.lastUnbundingOper = lastUnbundingOper;
	}


	public Date getLastUnbundingTime() {
		return lastUnbundingTime;
	}


	public void setLastUnbundingTime(Date lastUnbundingTime) {
		this.lastUnbundingTime = lastUnbundingTime;
	}


	public String getLastStartuseOper() {
		return lastStartuseOper;
	}


	public void setLastStartuseOper(String lastStartuseOper) {
		this.lastStartuseOper = lastStartuseOper;
	}


	public Date getLastStartuseTime() {
		return lastStartuseTime;
	}


	public void setLastStartuseTime(Date lastStartuseTime) {
		this.lastStartuseTime = lastStartuseTime;
	}


	public String getLastUnuseOper() {
		return lastUnuseOper;
	}


	public void setLastUnuseOper(String lastUnuseOper) {
		this.lastUnuseOper = lastUnuseOper;
	}


	public Date getLastUnuseTime() {
		return lastUnuseTime;
	}


	public void setLastUnuseTime(Date lastUnuseTime) {
		this.lastUnuseTime = lastUnuseTime;
	}


	public String getUnuseReason() {
		return unuseReason;
	}


	public void setUnuseReason(String unuseReason) {
		this.unuseReason = unuseReason;
	}


	public String getTokenErrorNum() {
		return tokenErrorNum;
	}


	public void setTokenErrorNum(String tokenErrorNum) {
		this.tokenErrorNum = tokenErrorNum;
	}


	public String getUnbundingStat() {
		return unbundingStat;
	}


	public void setUnbundingStat(String unbundingStat) {
		this.unbundingStat = unbundingStat;
	}


	public Date getCreateTs() {
		return createTs;
	}


	public void setCreateTs(Date createTs) {
		this.createTs = createTs;
	}


	public Date getLastUpdTs() {
		return lastUpdTs;
	}


	public void setLastUpdTs(Date lastUpdTs) {
		this.lastUpdTs = lastUpdTs;
	}
    
}
